package com.peng._04mybatis.mapper;

import com.peng._04mybatis.pojo.entity.Weibo;
import com.peng._04mybatis.pojo.vo.WeiboVO1;
import com.peng._04mybatis.pojo.vo.WeiboVO2;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 *
 * @Author peng
 * @Date 2024-04-18 9:12
 */
@Mapper
public interface WeiboMapper {
    @Insert("insert into weibo(content, created, user_id) " +
            "values( #{content}, #{created}, #{userId})")
    int insertWeibo(Weibo weibo);

    /**
     * 动态删除微博数据
     * @param weiboIds 要删除的微博ID集合
     * @return 删除的行数
     */
    int deleteWeiboByList(List<Long> weiboIds);

    int updateWeibo(Weibo weibo);

    /**
     * 动态更新微博数据
     * @param weibo 微博数据
     * @return 更新成功的行数
     */
    int dynamicUpdateWeibo(Weibo weibo);

    /**
     * 根据微博ID查询微博列表
     * @param id 微博ID
     * @return 微博详情
     */
    Weibo selectWeiboById(long id);

    /**
     * 根据用户ID查询微博列表
     * @param userId 用户ID
     * @return 微博ID和内容
     */
    List<WeiboVO1> selectWeiboVO1ByUserId(long userId);

    /**
     * 查询出指定User的所有微博，并存入一个List中，还要同时查出用户的id和nickname
     * @param userId 用户ID
     * @return 用户的id和nickname、微博列表
     */
    WeiboVO2 selectAllWeiboByUserId(long userId);
}
